package com.zr.service.dispatch;

import com.github.pagehelper.PageInfo;
import com.zr.exception.BusinessException;
import com.zr.utils.AjaxResult;
import com.zr.vo.dispatch.DispatchTicket;

import java.util.List;
import java.util.Map;


/**
 * @author Administrator
 */
public interface DispatchTicketService {
    /**
     * 条件查询调度单列表
     * @param dispatchTicket
     * @return
     * @author 陈鹏
     */
    PageInfo<DispatchTicket> list(DispatchTicket dispatchTicket);
    /**
     * 新增调度单
     *
     * @param dispatchTicket
     * @return
     * @author 陈鹏
     */
    int add(DispatchTicket dispatchTicket) throws BusinessException;
    /**
     * 删除调度单
     *
     * @param dispatchTicket
     * @return
     * @author 陈鹏
     */
    int remove(DispatchTicket dispatchTicket);
    /**
     * 更新调度单
     *
     * @param dispatchTicket
     * @return
     * @author 陈鹏
     */
    int update(DispatchTicket dispatchTicket) throws BusinessException;

    List<DispatchTicket> statusList();

    int getTodayAddQuantity();

    List<String> getChangeOfDispatchQuantitySixMonths();

    int getDispatchUnfinishedQuantity();

    /**
     * 查询所有运输中调度单列表
     * @return
     * @author huangguilong
     */
    PageInfo<DispatchTicket> listForTransportation(DispatchTicket dispatchTicket);

    Map getTicketDoneRecentWeek();

    Map getTicketDoneRecentMonth();

    Map getTicketDoneThisYear();

    /* 查询最近12个月每个月的调度单数量
     */
    List<String>getChangeOfDispatchQuantityYear();

    /* 查询最近30天每天的调度单数量
     */
    List<String> getChangeOfDispatchQuantityOneMonth();
}
